This tool can extract all the individual files from an Super Monkey Ball Jr. rom and also build a rom from the extracted files.
The source code can be found at: https://gitlab.com/fexean/smbjr-unpack


Usage
#######


The tool is meant to be used from the command line. 
It has 3 operations: unpacking, repacking and checking.



Unpacking rom:

./unpacker.exe u <rom path> <filelist path>

This produces a directory containing all the extracted files, a copy of the filelist file with compression types for each extracted file and a code.bin containing the rest of the rom.

A filelist file is needed to define what files are extracted. This repo contains (an incomplete) one for the US version of the game: files_us.txt



Repacking rom:

./unpacker.exe r <directory> <output rom name>

This command produces a rom file from a directory containing the extracted files.

The directory must contain a code.bin file, filelist.txt file and all the files mentioned in the filelist.txt



Checking rom:

./unpacker.exe c <rom path> <filelist path>

This command simply checks to see if the filelist's files can be found in the rom and prints information about the files.